Principal Methods
7
FIGURE 1.3
A block in XNOR-Net.
XNOR-Net [199] changes the block structure in a typical CNN. A typical block in a
CNN contains different layers: 1-Convolutional, 2-BatchNorm, 3-Activation, and 4-Pooling.
To further decrease information loss due to binarization, XNOR-Net normalizes the input
before binarization. This ensures the data have zero mean, so thresholding at zero minimizes
quantization error. The order of the layers in XNOR-Net is shown in Fig. 1.3.
The Bi-real Net [159] attributes the poor performance of 1-bit CNNs to their low rep-
resentation capacity. The representation capacity is defined as the number of all possible
configurations of x, where x could be a scalar, vector, matrix, or tensor. Bi-real Net pro-
poses a simple shortcut to preserve real activations before the sign function to increase
the representation capability of the 1-bit CNN. As shown in Fig. 1.4, the block indicates
the structure “Sign →1-bit convolution →batch normalization →addition operator.” The
shortcut connects the input activations to the sign function in the current block to the
output activations after the batch normalization in the same block. These two activations
are added through an addition operator, and then the combined activations are passed to
the sign function in the next block.
The simple identity shortcut significantly enhances the representation capability of each
block in the 1-bit CNN. The only additional cost of computation is the addition operation
of two real activations without additional memory cost.
BinaryDenseNet [12] designs a new BNN architecture that addresses the main drawbacks
of BNNs. DenseNets [92] apply shortcut connections so that new information gained in one
layer can be reused throughout the depth of the network. This is a significant characteristic
that helps to maintain the information flow. The bottleneck design in DenseNets signifi-
cantly reduces the filters and values between layers, resulting in less information flow in the
BNNs. These bottlenecks must be eliminated. Due to the limited representation capacity
of binary layers, the DenseNet architecture does not perform satisfactorily. This problem is
solved by increasing the growth rate or using a larger number of blocks. To keep the number
FIGURE 1.4
1-bit CNN with shortcut.